home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-01
/
pdcurs21.zip
/
PORTABLE.ZIP
/
RESET_PR.C
< prev
next >
Wrap
Text File
|
1992-11-21
|
2KB
|
68 lines
#include <string.h>
#define CURSES_LIBRARY 1
#include <curses.h>
#undef reset_prog_mode
#ifndef NDEBUG
char *rcsid_reset_pr = "$Header: c:/curses/portable/RCS/reset_pr.c%v 2.0 1992/11/15 03:29:11 MH Rel $";
#endif
/*man-start*********************************************************************
reset_prog_mode() - restore terminal mode
X/Open Description:
Restore the terminal to "program" (in curses) or "shell" (out
of curses) state. These are done automatically by endwin()
and doupdate() after an endwin(), so they would normally not
be called before these functions.
PDCurses Description:
Under the Flexos platform, PDCurses operates in 16-bit mode.
Normally, the Flexos shell operates in 8-bit mode.
X/Open Return Value:
The reset_prog_mode() routine returns OK on success otherwise ERR
is returned.
Portability:
PDCurses int reset_prog_mode( void );
X/Open Dec '88 int reset_prog_mode( void );
SysV Curses int reset_prog_mode( void );
BSD Curses int reset_prog_mode( void );
**man-end**********************************************************************/
int reset_prog_mode(void)
{
if (c_pr_tty.been_set == TRUE)
{
#if defined(DOS) || defined(OS2)
# if SMALL || MEDIUM
movedata( FP_SEG(&c_pr_tty.saved), FP_OFF(&c_pr_tty.saved),
FP_SEG(&_cursvar), FP_OFF(&_cursvar),
sizeof(SCREEN) );
# else
memcpy(&_cursvar, &c_pr_tty.saved, sizeof(SCREEN));
# endif
#endif
mvcur(0, 0, c_pr_tty.saved.cursrow, c_pr_tty.saved.curscol);
if (PDC_get_ctrl_break() != c_pr_tty.saved.orgcbr)
PDC_set_ctrl_break(c_pr_tty.saved.orgcbr);
if (c_pr_tty.saved.raw_out)
raw();
if (c_pr_tty.saved.visible_cursor)
curson();
_cursvar.font = PDC_get_font();
PDC_set_font(c_pr_tty.saved.font);
if (!PDC_scrn_modes_equal (PDC_get_scrn_mode(), c_pr_tty.saved.scrnmode))
PDC_set_scrn_mode(c_pr_tty.saved.scrnmode);
PDC_set_rows(c_pr_tty.saved.lines);
}
#ifdef FLEXOS
_flexos_16bitmode();
#endif
return( OK );
}